﻿#pragma strict

public var numFenetre: int;
var fenetreFermeSprite : Sprite;
var phase2: Sprite;
var phase3: Sprite;
var phase4: Sprite;
var plus1:Transform;
public var menuMort:Transform;
private var tempsDepuisOuverture:double;
static var perdu=false;
static var fin =false;
static var mauvaiseFenetre:int;
private var monSprite:SpriteRenderer;
var dynamite:Transform;
var coffre:Transform;
var voyant:Transform;
var dynamite2:Transform;
var indicateurVert:Sprite;
var indicateurRouge:Sprite;
var dynamiteExplose:Sprite;
var coffreCasse:Sprite;
private var componentVoyant:SpriteRenderer;
private var t:float;
private var animationBool:boolean;
private var tourBoucle:int;
public var banque:Transform;
 private var plus1Transform:Transform;
static var continuer:boolean;

function Start()
{
	monSprite=this.GetComponent(SpriteRenderer);
	perdu=false;
	fin=false;
	mauvaiseFenetre=0;
	componentVoyant=voyant.GetComponent(SpriteRenderer);
	t=0;
	animationBool=true;
	tourBoucle=0;
	continuer=true;
}
function OnMouseDown()
{
	if(!perdu)
	{
		if(ouvertureFenetre.fenetreOuverte[numFenetre])
		{
			plus1Transform=Transform.Instantiate(plus1,Camera.main.ScreenToWorldPoint(Input.mousePosition),Quaternion.identity);
			plus1Transform.localScale=banque.localScale;
			monSprite.sprite = fenetreFermeSprite;
			ouvertureFenetre.nbFenetreOuverte--;
			ouvertureFenetre.fenetreOuverte[numFenetre]=false;
			Score.score++;
			tempsDepuisOuverture=0;
		}
	}
}

function Update () 
{
	if(!fin)
	{
		if(ouvertureFenetre.fenetreOuverte[numFenetre])
		{
			if(continuer)
			{tempsDepuisOuverture+=Time.deltaTime*Time.timeScale;}
			
			
			if(tempsDepuisOuverture>=ouvertureFenetre.tempsEntrePhase*3.0+0.5)
			{
				perdu=true;
				continuer=false;
				ouvertureFenetre.pause=true;
				monSprite.sprite = phase4;
				if(animationBool)
				{
					animation();
				}

			}
			else if(tempsDepuisOuverture>=ouvertureFenetre.tempsEntrePhase*2.0)
			{
				monSprite.sprite= phase3;
			}
			else if(tempsDepuisOuverture>=ouvertureFenetre.tempsEntrePhase)
			{
				monSprite.sprite = phase2;
			}


		}
	}
}

public function animation()
{
	if(tourBoucle<3)
	{	
		t += Time.deltaTime;
		if(t>=0 && t<0.45)
		{
			componentVoyant.sprite=indicateurRouge;				
		}
		if(t>=0.45)
		{
			componentVoyant.sprite=indicateurVert;
		}
		if(t>=0.9)
		{
			t=0;
			tourBoucle++;
		}
	}
	else
	{
		dynamite.GetComponent(SpriteRenderer).sprite=dynamiteExplose;
		coffre.GetComponent(SpriteRenderer).sprite=coffreCasse;
		dynamite2.GetComponent(SpriteRenderer).sprite=null;
		componentVoyant.sprite=null;	
		t += Time.deltaTime;
		if(t>=0.5)
		{
			dynamite.GetComponent(SpriteRenderer).sprite=null;
			animationBool=false;
    		fin=true;
    		if(Score.score>PlayerPrefs.GetInt("Hight Score"))
			{
				PlayerPrefs.SetInt("Hight Score",Score.score);	
			}
			PlayerPrefs.SetInt("scoreCumule",PlayerPrefs.GetInt("scoreCumule")+Score.score);	
    		var test:Transform;
			test=Transform.Instantiate(menuMort);
			test.localScale=banque.localScale;	
		}
		
	}	
    
}

   